Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

167
Views
No se puede acceder al estado actualizado dentro de la función handleEvent | Ganchos de reacción

Estoy usando DateRangePicker para obtener los rangos de fechas y agregar la fecha a la API para obtener los datos de fechas más recientes.

Como en el código a continuación, puedo obtener un estado actualizado fuera de la función EventHandler pero no dentro de ella. Obtengo la misma fecha que se seleccionó por primera vez.

 import React, { useState } from "react"; import DateRangePicker from "react-bootstrap-daterangepicker"; import "bootstrap-daterangepicker/daterangepicker.css"; import moment from "moment"; import DataProvider from "context/DataContext"; import ApiService from "services/api"; export default function DatePicker() { const [fromDate, setFromDate] = useState(new Date()); const [toDate, setToDate] = useState(new Date()); const range = { Today: [moment(), moment()], Yesterday: [moment().subtract(1, "days"), moment().subtract(1, "days")], "Last 7 Days": [moment().subtract(6, "days"), moment()], "Last 30 Days": [moment().subtract(29, "days"), moment()], "This Month": [moment().startOf("month"), moment().endOf("month")], "Last Month": [ moment().subtract(1, "month").startOf("month"), moment().subtract(1, "month").endOf("month"), ], "Last Year": [ moment().subtract(1, "year").startOf("year"), moment().subtract(1, "year").endOf("year"), ], }; var startdate = moment(fromDate).format("yyyy-MM-DD"); var enddate = moment(toDate).format("yyyy-MM-DD"); console.log(startdate); const handleEvent = (event, picker) => { setFromDate(picker.startDate._d); setToDate(picker.endDate._d); console.log(startdate); var requestData = { metrics: ["views"], project_id: "abc", date_range: { start_at: fromDate, end_at: toDate }, }; ApiService.create({ requestData }).then((onSuccess) => { console.log(onSuccess); }); }; return ( <DateRangePicker ranges={range} alwaysShowCalendars={false} onEvent={handleEvent} > <button> {moment(fromDate).format("ll")} to {moment(toDate).format("ll")} </button> </DateRangePicker> ); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En el objeto requestData, debe cambiar fromDate a picker.startDate._d, lo mismo en el otro toDate->endDate._d

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!